package com.guosheng.test20181219;

public interface Subject {

    /**
     * 添加观察者
     * @param observer
     */
    void addObserver(Observer observer);

    /**
     * 移除指定观察者
     * @param observer
     */
    void removerObserver(Observer observer);

    /**
     * 移除所有
     */
    void removeAll();

    /**
     *data是传给所有观察者的数据
     * @param data
     */
    void notifyAllObserver(Object data);

    /**
     * 通知单个观察者
     * @param observer
     * @param data
     */
    void notifyObserver(Observer observer,Object data);
}
